cmake_minimum_required(VERSION 3.25)

# 变量
set(AppName Network_Traffic_Processing)

# 项目/模块名
project(${AppName})
# c++版本
set(CMAKE_CXX_STANDARD 17)

### 发布
#SET(CMAKE_CXX_FLAGS_RELEASE "$ENV{CXXFLAGS} -O2 -g")  # $ENV{} 会向makefile中写入变量
#SET(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -g3")
#SET(CMAKE_CXX_FLAGS "-fPIC -DLINUX  -m64 -w -std=c++17 -O2 -g")

#### 调试
SET(CMAKE_BUILD_TYPE "Debug")
SET(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -g -gdwarf-4 -gstrict-dwarf") # -g2 -ggdb
SET(CMAKE_CXX_FLAGS_RELEASE "$ENV{CXXFLAGS} -O3 -Wall")
SET(CMAKE_CXX_FLAGS "-fPIC -DLINUX  -m64 -w -std=c++17 -O2 -g") # -std=c++11 stdc++ 静态依赖，可以不依赖与系统的 libc++
# 不依赖于系统gcc，可在低版本的gcc上运行
#SET(CMAKE_CXX_FLAGS "-fPIC -DLINUX  -m64 -w -std=c++17 -static-libstdc++ -static-libgcc -static -O2 -g") # 不能全加
#SET(CMAKE_CXX_FLAGS "-fPIC -DLINUX  -m64 -w -std=c++17 -static-libstdc++ -O2 -g") # 可以使用的


# 添加子模块
add_subdirectory(V0_Network_Pcap_Tools)
add_subdirectory(V1)
add_subdirectory(V2)
add_subdirectory(V3)
add_subdirectory(V4)

add_subdirectory(static)
add_subdirectory(csvUtils)

message("==【debug】==")
message("项目名===${AppName}")
# 检测操作系统
message("操作系统类型 = ${CMAKE_SYSTEM_NAME}")
message("处理器架构类型 = ${CMAKE_HOST_SYSTEM_PROCESSOR}")  # “i386”、“i686”、“x86_64”、“AMD64”

######################################################################################
#### 版本特性
# bin文件生成路径在模块内指定
# 各模块使用相同的库文件和头文件
#


######################################################################################


